﻿<?xml version="1.0" encoding="utf-8" ?>
<!--
  NHibernate Configuration
  ========================
-->
  <objects xmlns="http://www.springframework.net">

    <!-- SERVER CONTAINER -->
    <object
        id="ServerContainerRef"
        type="eDirectory.Domain.AppServices.Container, eDirectory.Domain"
        singleton="true">

      <property name="RequestContext" ref="RequestContextRef" />
    </object>

    <!-- Request Context -->
    <object
            id="RequestContextRef"
            type="eDirectory.Domain.AppServices.WcfRequestContext.RequestContext, eDirectory.Domain" />
    
    <!-- Global Context -->
    <object
            id="GlobalContextRef"
            type="eDirectory.Domain.AppServices.GlobalContext, eDirectory.Domain"
            factory-method="Instance"
            singleton="true">

      <property name="TransFactory" ref="TransFactoryRef" />
    </object>

    <!-- Transaction Factory -->
    <object
            id="TransFactoryRef"
            type="eDirectory.NHibernate.TransManager.TransManagerFactoryNh, eDirectory.NHibernate" >
      
      <property name="ConfigurationFileName" value="nhibernate.cfg.xml" />
      <property name="IsIisEnvironment" value="true" />
    </object>

    <!-- AutoMapper -->
    <object
            id="AutoMapperConfiguratorRef"
            type="eDirectory.Domain.Entities.AutoMapperConfigurator, eDirectory.Domain"
            init-method="Install" />

  </objects>